A virtual environment is a software implementation of a computer-based environment that operates like a real computer-based environment. One example of a virtual environment is a virtual machine, which is a software implementation of a computer that operates like a real computer. Emerging virtualization technologies offer the possibility of migrating a virtual environment from one physical system to another physical system without stopping or suspending operation of the virtual environment.
This migration is sometimes called “dynamic migration.” The terms “migrate” and “migration” are used interchangeably herein to refer to moving and relocating an item from one location to another location. Migration may occur in an automated fashion or via operator assistance. For example, automated migration may be used in load balancing and/or workload distribution scenarios.
Physical systems have configurations that may or may not be compatible with the requirements of certain virtual environments. For example, a virtual environment may require a different configuration of input/output (“I/O”) devices than are available on a target physical system. The virtual environment also may require more or different central processing unit (“CPU”) resources, memory, and/or processors than are available on the target physical system. For example, a physical system that only has 1 CPU is not compatible with a virtual environment that requires 3 CPU.
Traditionally, a migration could not be completed if there was any inconsistency between physical system resources and virtual environment requirements. The migration was stopped upon detection of such an inconsistency, leaving an operator to determine the reason why the migration stopped and whether and how the migration could be completed. For example, the operator could modify certain features of the virtual environment or physical system to allow the migration to be completed. Once the operator made this modification, the operator had to repeat the whole migration process again. This process is cumbersome and time-consuming.
Therefore, a need exists in the art for an improved method and system for virtual environment migration. In addition, a need exists in the art for such a system and method to provide efficient, user-friendly solutions to problems of incompatibility during virtual environment migration.